package com.io.mp3;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Mp3Util {

    /**
     * 根据路径获取歌曲文件地址，可以是文件或者是文件夹
     * @param sourceDir
     * @return
     */
    public static String[] getFiles(String sourceDir){

        String[] retStrArgs = null;

        File file = new File(sourceDir);

        if(!file.exists()){
            System.out.println("文件或文件夹不存在");
            return retStrArgs;
        }

        if(file.isDirectory()){
            retStrArgs = file.list();
        }else if(file.isFile()){
            retStrArgs = new String[1];
            retStrArgs[0] = sourceDir;
        }

        return retStrArgs;
    }

    /**
     * 筛选Mp3文件，将不是Mp3格式的文件都去除掉
     * @param fileArgs
     */
    public static List<String> screenMp3Files(String[] fileArgs){

        List<String> mp3List = new ArrayList<String>();

        String suffix = "";//后缀

        for(String str : fileArgs){
            suffix = str.substring(str.lastIndexOf(".")+1);

            if("mp3".equalsIgnoreCase(suffix)){
                mp3List.add(str);
            }

        }

        return mp3List;
    }

    /**
     * 给Mp3文件重命名
     * @param oldFileStr    Mp3文件地址
     * @param newName       新名称
     * @return
     */
    public static boolean renameMp3(String oldFileStr, String newName){

        File oldFile = new File(oldFileStr);

        if(!oldFile.exists() || !oldFile.isFile()){
            System.out.println(oldFileStr + "文件不存在！");
            return false;
        }

        String newFileStr = oldFileStr.substring(0, oldFileStr.lastIndexOf(".")) + newName + ".mp3";

        File newFile = new File(newFileStr);

        if(newFile.exists()){

            StringBuilder sb = new StringBuilder();
            sb.append("将文件");
            sb.append(oldFile.getName());
            sb.append("改名为");
            sb.append(newFile.getName());
            sb.append("失败，原因：");
            sb.append(newFile.getName());
            sb.append("已经存在！");

            System.out.println(sb.toString());
            return false;
        }

        StringBuilder sb = new StringBuilder();
        sb.append("将文件");
        sb.append(oldFile.getName());
        sb.append("改名为");
        sb.append(newFile.getName());
        sb.append("成功！");

        System.out.println(sb.toString());

        oldFile.renameTo(newFile);

        return true;
    }

}
//————————————————
//        版权声明：本文为CSDN博主「晓呆同学」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
//        原文链接：https://blog.csdn.net/daidaineteasy/article/details/49891295